// pages/test/test.js
const db = wx.cloud.database()
var jsonData = require('../../data/json.js');

Page({

  /**
   * 页面的初始数据
   */
  data: {
    // 模糊查询时长
    timer: 0,
    // 点击结果项之后替换到文本框的值
    inputValue: '',
    // 是否隐藏模糊查询的面板
    hideScroll: true,
    // 历史查询记录
    historySearch: [],
    // 模糊查询结果
    searchTip: [],
    hiddenOther:true,
    dbword:['图片','大全','发型','价格','报价','唯美','搞笑','qq','女生',
    '手机','奢侈品','箱包','衣物','零食','书籍','日用品','宠物','配饰','数码']
  },

  /**
   * 生命周期函数--监听页面加载
   */
  onLoad: function (options) {
    
    this.setData({
      ///jsonData.dataList获取json.js里定义的json数据，并赋值给historySearch
      historySearch:jsonData.dataList
    })
  },

  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady: function () {

  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow: function () {

  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide: function () {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload: function () {

  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh: function () {

  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom: function () {

  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage: function () {

  },

  getInf(str, key) {
    return str
      .replace(new RegExp(`${key}`, 'g'), `%%${key}%%`)
      .split('%%')
      .filter(item => {
        if (item) {
          return true
        }
        return false
      })
  }
  ,
  onInput(e) {
    const inputValue = e.detail.value
    console.log(inputValue)

    wx.cloud.callFunction({
      name:"comoKcloud"
    })
    db.collection('todos').where({
    seed:inputValue
    }).get().then(res =>{
    this.setData({
    info:res.data[0].RECORDS
    })
    }).then(res=>{
    console.log(this.data.info)
    })

  clearTimeout(this.data.timer)

    let timer = setTimeout(() => {
      if (inputValue&&this.data.dbword.includes(inputValue)) {
        console.log("1")
        // 如果输入的关键字不为空，则发起请求获取联想值
        var tips = [
          // { compete_key: '第一', competitive: '2' },
          // { compete_key: '第二', competitive: '2' },
          // { compete_key: '第三', competitive: '3' },
          // { compete_key: '第四', competitive: '3' },
          // { compete_key: '第五', competitive: '3' }
        ]

        let newdata = tips.concat(this.data.info)
        console.log("newdata",newdata)
        console.log("tips",tips)
        const newTips = newdata.map(item => {
          const { compete_key, competitive } = item

          const newContent = this.getInf(competitive, inputValue)

          return { compete_key, competitive: newContent }
        })

        console.log('newTips:', newTips)
        this.setData({
          inputValue: inputValue,
          searchTip: newTips,
          hideScroll: false,
          hiddenOther:true
        })
        return
      }
      // 如果为空，则收起
      this.setData({
        searchTip: [],
        hideScroll: true,
        hiddenOther:false,
        inputValue: '',
      })
    }, 600)
    this.data.timer = timer
  },

  itemtap(e) {
    const { info } = e.currentTarget.dataset

    this.setData({
      // 将点击选择的值展示在input框中
      inputValue: info.content.join(''),
      // 当用户选择某个联想词，隐藏下拉列表
      hideScroll: true
    })
    this.addHistorySearch(info)
    // 发起请求，获取查询结果
    this.searchByKeyWord(info)
  },

  searchByKeyWord(info) {
    // 发起请求，获取面板数据
  },

  addHistorySearch(value) {
    const historySearch = wx.getStorageSync('historySearch') || []
    // 是否有重复的历史记录

    let has = false

    for (let history of historySearch) {
      const { content } = history

      if (value.content === content) {
        has = true
        break
      }
    }

    if (has) {
      return
    }

    const len = historySearch.length

    if (len >= 8) {
      historySearch.pop()
    }

    historySearch.unshift(value)
    wx.setStorage({
      key: 'historySearch',
      data: historySearch,
      success: () => {
        this.setData({ historySearch: historySearch })
      }
    })
  }
})